package com.ushine.web.component.design.chain;
/*
 * 责任链模式
 * 职责链模式：避免将一个请求的发送者与接收者耦合在一起，让多个对象都有机会处理请求。
 *      将接收请求的对象连接成一条链，并且沿着这条链传递请求，直到有一个对象能够处理它为止。
 *
 * 职责链模式又称为责任链模式。
 * 职责链模式的结构：
 * Handler（抽象处理者）：它定义了一个处理请求的接口，一般设计为抽象类，由于不同的具体
 *      处理者处理请求的方式不同，因此在其中定义了抽象请求处理方法。每一个处理的下家还是一个处理者，
 *      故在抽象处理者中定义了一个抽象处理者类型的对象作为其对下家的引用，通过该引用处理者可以连成一条链。
 *
 * ConcreteHandler（具体处理者）：它是抽象处理者的子类，可以处理用户请求，在具体处理者类中实现了抽象
 *      处理者中定义的抽象请求处理方法，在处理请求之前需要进行判断，看是否有相应的权限，如果可以处理请求就处理它。
 *      否则将请求转发给后继者；在具体处理者中可以访问链中的下一个对象，以便请求的转发。
 */